\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding}{\section{strange.\-framework.\-api.\-I\-Binding Interface Reference}
\label{interfacestrange_1_1framework_1_1api_1_1_i_binding}\index{strange.\-framework.\-api.\-I\-Binding@{strange.\-framework.\-api.\-I\-Binding}}
}


Binds a key Semi\-Binding to a vlaue Semibinding.  


Inheritance diagram for strange.\-framework.\-api.\-I\-Binding\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.243523cm]{interfacestrange_1_1framework_1_1api_1_1_i_binding}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a905b1b245556d8577f2ef99f036a0b74}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a905b1b245556d8577f2ef99f036a0b74}{Bind$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a905b1b245556d8577f2ef99f036a0b74}

\begin{DoxyCompactList}\small\item\em Tie this binding to a Type key. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a3db9dab7cff1c641ee8d416e5027d2e2}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a3db9dab7cff1c641ee8d416e5027d2e2}{Bind} (object \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_acec8686208598f9f4a952ffd05449c4d}{key})}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a3db9dab7cff1c641ee8d416e5027d2e2}

\begin{DoxyCompactList}\small\item\em Tie this binding to a value key, such as a string or class instance. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a11058132bdc6b6eb7a9a258caa5e5abb}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a11058132bdc6b6eb7a9a258caa5e5abb}{To$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a11058132bdc6b6eb7a9a258caa5e5abb}

\begin{DoxyCompactList}\small\item\em Set the Binding's value to a Type. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a4f7d063a91e5e6dcadc0c4854b010517}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a4f7d063a91e5e6dcadc0c4854b010517}{To} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a4f7d063a91e5e6dcadc0c4854b010517}

\begin{DoxyCompactList}\small\item\em Set the Binding's value to a value, such as a string or class instance. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1a5c45805f5877e6b85dea9e468f3d72}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1a5c45805f5877e6b85dea9e468f3d72}{To\-Name$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1a5c45805f5877e6b85dea9e468f3d72}

\begin{DoxyCompactList}\small\item\em Qualify a binding using a marker type. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a675e49e47712163dea9b1b73f920ddc0}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a675e49e47712163dea9b1b73f920ddc0}{To\-Name} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a675e49e47712163dea9b1b73f920ddc0}

\begin{DoxyCompactList}\small\item\em Qualify a binding using a value, such as a string or class instance. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1f984da3846ebea1b1e9e82da7ba71d1}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1f984da3846ebea1b1e9e82da7ba71d1}{Named$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a1f984da3846ebea1b1e9e82da7ba71d1}

\begin{DoxyCompactList}\small\item\em Retrieve a binding if the supplied name matches, by Type. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_ad901d3311ad66928a950f70543f77829}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_ad901d3311ad66928a950f70543f77829}{Named} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_ad901d3311ad66928a950f70543f77829}

\begin{DoxyCompactList}\small\item\em Retrieve a binding if the supplied name matches, by value. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a45170158a551821a12300ec498107b93}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a45170158a551821a12300ec498107b93}{Remove\-Key} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a45170158a551821a12300ec498107b93}

\begin{DoxyCompactList}\small\item\em Remove a specific key from the binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_ae74c9abff54a85859979aae0a0b5770a}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_ae74c9abff54a85859979aae0a0b5770a}{Remove\-Value} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_ae74c9abff54a85859979aae0a0b5770a}

\begin{DoxyCompactList}\small\item\em Remove a specific value from the binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_addc5600176d59f33a7a5553db5ed33b7}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_addc5600176d59f33a7a5553db5ed33b7}{Remove\-Name} (object o)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_addc5600176d59f33a7a5553db5ed33b7}

\begin{DoxyCompactList}\small\item\em Remove a name from the binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a7491e99b7d906b7982cdfcac0c4288be}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} {\bfseries Weak} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a7491e99b7d906b7982cdfcac0c4288be}

\end{DoxyCompactItemize}
\subsection*{Properties}
\begin{DoxyCompactItemize}
\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_acec8686208598f9f4a952ffd05449c4d}{object \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_acec8686208598f9f4a952ffd05449c4d}{key}\hspace{0.3cm}{\ttfamily  \mbox{[}get\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_acec8686208598f9f4a952ffd05449c4d}

\begin{DoxyCompactList}\small\item\em Get the binding''s key. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a03b67204b0ec13c3632ec6c02d4c021f}{object \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a03b67204b0ec13c3632ec6c02d4c021f}{name}\hspace{0.3cm}{\ttfamily  \mbox{[}get\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a03b67204b0ec13c3632ec6c02d4c021f}

\begin{DoxyCompactList}\small\item\em Get the binding's name. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a146e78723b1110a34bd36f93defb5d50}{object \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a146e78723b1110a34bd36f93defb5d50}{value}\hspace{0.3cm}{\ttfamily  \mbox{[}get\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a146e78723b1110a34bd36f93defb5d50}

\begin{DoxyCompactList}\small\item\em Get the binding's value. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a8019cd2da170db8a99f4d162aab04cc3}{Enum \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a8019cd2da170db8a99f4d162aab04cc3}{key\-Constraint}\hspace{0.3cm}{\ttfamily  \mbox{[}get, set\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a8019cd2da170db8a99f4d162aab04cc3}

\begin{DoxyCompactList}\small\item\em Get or set a M\-A\-N\-Y or O\-N\-E constraint on the Key. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a83c99f79ce6adda2811ff2e9c4fb2ff2}{Enum \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding_a83c99f79ce6adda2811ff2e9c4fb2ff2}{value\-Constraint}\hspace{0.3cm}{\ttfamily  \mbox{[}get, set\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a83c99f79ce6adda2811ff2e9c4fb2ff2}

\begin{DoxyCompactList}\small\item\em Get or set a M\-A\-N\-Y or O\-N\-E constraint on the Value. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binding_a4dd8b72892ce51a3ae49774695769f6f}{bool {\bfseries is\-Weak}\hspace{0.3cm}{\ttfamily  \mbox{[}get\mbox{]}}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binding_a4dd8b72892ce51a3ae49774695769f6f}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Binds a key Semi\-Binding to a vlaue Semibinding. 

Bindings represent the smallest element of Strange with which most developers will normally interact.

A Strange binding is made up of two required parts and one optional part (Semi\-Bindings). 
\begin{DoxyItemize}
\item key -\/ The Type or value that a client provides in order to unlock a value. 
\item value -\/ One or more things tied to and released by the offering of a key 
\item name -\/ An optional discriminator, allowing a client to differentiate between multiple keys of the same Type 
\end{DoxyItemize}

The required parts are a key and a value. The key triggers the value; thus an event can be the key that triggers a callback. Or the instantiation of one class can be the key that leads to the instantiation of another class. The optional part is a name. Under some circumstances, it is useful to qualify two bindings with identical keys. Under these circumstances, the name serves as a discriminator. \par
 \par
 Note that Semi\-Bindings maintain lists, so Remove\-Key, Remove\-Value and Remove\-Name delete an entry from those lists. 

The documentation for this interface was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Strange\-Io\-C/scripts/strange/framework/api/I\-Binding.\-cs\end{DoxyCompactItemize}
